Получить основные навыки работы с ОС Linux путем прохождения внешнего
курса на образовательной платформе stepik.
Задание
Пройти курс.
Получить сертификат.
Записать видео по каждому разделу.
Записать итоговую презентацию по каждому этапу.
Написать отчёт по прохождению контрольных мероприятий по каждому
разделу.
Выполнение лабораторной работы
Приступим к выполнению третьего блока заданий внешнего курса –
Продвинутым темам.
Текстовый редактор vim
Текстовый редактор vim
Вопрос 1-й: Из только что открытого в vim файла можно выйти перейдя
в командный режим с помощью : и написав q,
затем ENTER. (если не производилось изменение файла)
Задание №1. Условие и ответ
Текстовый редактор vim
Вопрос 2-й: Введем тестовую строку и проведем на ней указанные
операции, выберем правильные ответы.
Задание №2. Условие и ответ
Текстовый редактор vim
Вопрос 3-й: Проверим каждую комбинацию в редакторе vim. Укажем
правильные ответы.
Задание №3. Условие и ответ
Текстовый редактор vim
Вопрос 4-й: В командном режиме можно совершить замену первого
вхождения слова в строке. Для этого укажем строку
:%s/Windows/Linux, где:
% – диапазон (всего файла)
s – команда замены
Windows – то что заменяем
Linux – то на что заменяем
Задание №4. Условие и ответ
Текстовый редактор vim
Вопрос 5-й: Проверим каждую опцию из предложенного списка, выберем
правильные ответы.
Задание №5. Условие и ответ
Скрипты на bash: основы
Скрипты на bash: основы
Вопрос 6-й: Каждая оболочка хранит свойфайл независимо, поэтому в
последней оболочке будут лишь команды C1, C2, C3.
Задание №6. Условие и ответ
Скрипты на bash: основы
Вопрос 7-й: Исходя из скрипта, мы перейдем в домашнюю директорию,
после в ней создастся файл file1.txt и команда отправит нас в каталог
/home/bi/Desktop. В итоге выбираем второй вариант.
Задание №7. Условие и ответ
Скрипты на bash: основы
Вопрос 8-й: В языке программирования bash в названия переменных
допускаются нижние подчёркивания, числа и буквы, однако имена не должны
начинаться с цифры. Выберем подходящие варианты ответа.
Задание №8. Условие и ответ
Скрипты на bash: основы
Вопрос 9-й: Используем команду echo для вывода сообщения. Чтобы
символ доллара корректно отображался, укажем обратный слеш перед ним:
...\$1... .
Задание №9. Условие и ответ
echo Arguments are: \$1=$1\$2=$2
Скрипты на bash: ветвления и циклы
Скрипты на bash: ветвления
и циклы
Вопрос 10-й: Двойные квадратные скобки – усовершенствованная версия
тестовой конструкции test, позволяющая совершать сравнения и тесты.
Изучим возможные опции для этой конструкции и выберем подходящие
варианты.
Задание №10. Условие и ответ
Скрипты на bash: ветвления
и циклы
Вопрос 11-й: Задание проверяет знание опций для [[]].
Пройдемся по условиям с заданными параметрами и выберем правильные
варианты из списка.
Задание №11. Условие и ответ
Скрипты на bash: ветвления
и циклы
Вопрос 12-й: Будем считывать первый аргумент с помощью
$1. Для проходки по возможным вариантам используем оператор
case.
Задание №12. Условие
Задание №12. Ответ
Скрипты на bash: ветвления
и циклы
arg=$1case$argin0)echo No students;;1)echo 1 student ;;2)echo 2 students;;
3)echo 3 students;;4)echo 4 students;;*)echo A lot of studentsesac
Скрипты на bash: ветвления
и циклы
Вопрос 13-й: Команда запуститься 5 раз, так как знак запятой тоже
считается отдельным значением переменной str. Условие
[[ $str > "c" ]] проверяет по длине строк, поэтому
команда закончится на последнем аргументе, не выводя сообщение
finish.
Задание №13. Условие и ответ
Скрипты на bash: ветвления
и циклы
Вопрос 14-й: Программу запишем в цикл while true. Сделаем отдельные
переменные для имени и возраста, считаем значения через команду read,
проверяя на пустую строку либо нулевой возраст.
Задание №14. Условие
Задание №14. Ответ
Скрипты на bash: ветвления
и циклы
name=""age=""whiletruedoecho enter your name:readnameif[[-z$name]]thenbreakfiecho enter your age:readageif[[$age-eq 0 ]]then
breakfiif[[$age-le 16 ]]thenecho$name, your group is childelif[[$age-gt 16 ]]&&[[$age-le 25 ]]thenecho$name, your group is youthelif[[$age-gt 25 ]]thenecho$name, your group is adultfidoneecho bye
Скрипты на bash: разное
Скрипты на bash: разное
Вопрос 15-й: Выражения с командой let можно писать как в кавычках,
так и без них. Во втором варианте происходит сложение (объединение)
строк, а первый вариант не сработает из-за неправильного операнда.
Задание №15. Условие и ответ
Скрипты на bash: разное
Вопрос 16-й: Обратные одинарные ковычки позволяют выполнять команды
внутри сценария оболочки, поэтому вывод будет равен пути pwd, указанном
в файле.
Задание №16. Условие и ответ
Скрипты на bash: разное
Вопрос 17-й: Достать вывод потока ошибок можно через встроенную
переменную $? либо через запись результата в какой-нибудь
файл с последующим считыванием кода выхода уже этого условия.
Задание №17. Условие и ответ
Скрипты на bash: разное
Вопрос 18-й: Подвох этой задачи заключается в том, что мы пытаемся
вывести значение переменной $c1, хотя она является
локальной в теле функции counter. На выходе её значение будет равно
пустой строке.
Задание №18. Условие и ответ
Скрипты на bash: разное
Вопрос 19-й: Напишем программу для вычисления НОД, используя
алгоритм Евклида и рекурсивный вызов функции в bash.
Задание №19. Условие
Задание №19. Ответ
Скрипты на bash: разное
gcd(){locallet"M+=${1}"locallet"N=${2}"if[[ M -eq N ]]thenreturn$Melif[[ M -gt N ]]thenlet"r=$M-$N"gcd$r$Nelif[[ M -lt N ]]thenlet"r=$N-$M"
gcd$M$rfi}whiletruedoreadnum1num2if[[-z$num1]]||[[-z$num2]]thenecho byebreakfigcd$num1$num2echo GCD is $?done
Скрипты на bash: разное
Вопрос 20-й: Реализуем калькулятор. Будем считывать уже 3 аргумента
командой read. Чтобы оператор case не путал умножение "*")
и оставшиеся варианты *), поместим знак умножения в
кавычки.
Задание №20. Условие
Задание №20. Ответ
Продвинутый поиск и редактирование
Продвинутый поиск и
редактирование
Вопрос 21-й: Команда -iname не учитывает регистр,
поэтому найдутся те варианты, которые начинаются с star и заканчиваются
любым набором в любом регистре.
Задание №21. Условие и ответ
Продвинутый поиск и
редактирование
Вопрос 22-й: Изучим каждый вариант ответа и выберем верные.
Задание №22. Условие и ответ
Продвинутый поиск и
редактирование
Вопрос 23-й: Глубина поиска начинается с текущей директории, поэтому
он будет проходить в области dir1 <-> dir2, не заходя
в каталог dir3.
Задание №23. Условие и ответ
Продвинутый поиск и
редактирование
Вопрос 24-й: Рассмотрим каждую из опций:
-A n – Вывод n строк контекста после группы найденных
вхождений;
-B n – Вывод n строк контекста перез группой найденных
вхождений;
-C n – Вывод n строк контекста до и после группы
найденных вхождений;
Так как до и после 10 строк слов word нет текста, то контекста не
будет, а размер всех файлов будет одинаковый.
Задание №24. Условие и ответ
Продвинутый поиск и
редактирование
Вопрос 25-й: Команда выведет только строки, которые: заканчиваются
на слове Ubuntu или ubuntu, перед которым слитно находится не более
одного вхождения символов из набора xklXKL.
Задание №25. Условие и ответ
Продвинутый поиск и
редактирование
Вопрос 26-й: Без опции -n происходит автоматический
вывод всех строк, при этом p в конце выражения указывает на то, что
дополнительно должны быть выведены строки, удовлетворяющие шаблону.
Произойдет задвоение строк.
Задание №26. Условие и ответ
Продвинутый поиск и
редактирование
Вопрос 27-й: Используем команду
sed "s/ [A-Z]\{2,} / abbreviation /g" input.txt > edited.txt,
в которой:
s – указание на копирование;
[A-Z] – любые символы из набора от A до Z;
\{2,} – хотя бы две буквы из набора;
abbreviation – то на что заменяем;
g – каждое вхождение в строке;
Задание №27. Условие и ответ
Строим графики в gnuplot
Строим графики в gnuplot
Вопрос 28-й: Изучим справку man gnuplot. Из неё получим, что
существует ключ -p или же --persist, который
позволяет оставить окно графика после закрытия терминала.
Задание №28. Условие и ответ
Строим графики в gnuplot
Вопрос 29-й: Первая строка указывает gnuplot использовать первую
строку файла как название столбцов, так как файлы названий столбцов
отсутствуют, gnuplot присвоит ряду стандартное название во второй строке
– 'data.csv' using 1:2.
Задание №29. Условие и ответ
Строим графики в gnuplot
Вопрос 30-й: Установим деления командой set, укажем ось Ox с помощью
xics и введем через запятую точки в формате (“название”, значение).
Задание №30. Условие и ответ
Строим графики в gnuplot
Вопрос 31-й: В данном случае график:
отразится зеркально, если поставить отрицание перед функцией и
раскрыть скобки: splot -x**2-y**2
станет вращаться в обратную сторону, если поменять с 10 до 350
градусов: zrot=(zrot+350)%360
станет вращаться в два раза быстрее, если уменьшить задержку в два
раза: pause 0.1
Задание №31. Условие и ответ
Задание №31. Файл
Разное
Разное
Вопрос 32-й: Проверим каждую строку на правильность изменения прав
файла и выберем нужные варианты ответа.
Задание №32. Условие и ответ
Разное
Вопрос 33-й: Так как изначальные права у root, то владелец с помощью
sudo должен дать права пользователю. Без sudo права не поменяются.
Выберем верные варианты ответа.
Задание №33. Условие
Задание №33. Ответ
Разное
Вопрос 34-й: Откроем справку по команде wc и просмотрим ключи:
-l имя_файла – вывести количество строк;
-c имя_файла – вывести количество байт;
-m имя_файла – вывести количество символов;
-L имя_файла – вывести длину самой длинной строки;
-w имя_файла – вывести количество слов;
Задание №34. Условие и ответ
Разное
Вопрос 35-й: Выведем команду du, анализирующую занимаемое файловое
пространство, с двумя ключами -h или
--human-readable и -s или
--summarize.
Задание №35. Условие и ответ
Разное
Вопрос 36-й: Создадим директорию с помощью, а номера укажем с
помощью команды {1..3}, которая проходит по значениям от 1 до 3.
Задание №36. Условие и ответ
Вывод
В результате выполнения блока внешнего курса №3 “Продвинутые темы” я
ознакомился с редактором vim и написанием скриптов на bash, изучил
продвинутый поиск файлов и их продвинутое редактирование и научился
строить графики в gnuplot.